package com.qianda.qdminiapp.security;
import org.springframework.security.core.Authentication;

/**
 * 令牌管理器
 *
 * @author cw
 * @since 07/01 2019
 */
public interface TokenManager {


    /**
     * 失效所有的令牌
     */
    void invalidateAll();

    /**
     * 失效指定的令牌
     *
     * @param tokenId 令牌编号
     */
    void invalidate(String tokenId);

    /**
     * 创建令牌
     *
     * @param authResult 已认证信息
     * @return 新的令牌
     */
    Token createToken(Authentication authResult);

    /**
     * 获取令牌
     *
     * @param tokenId 令牌编号
     * @return 令牌
     */
    Token getToken(String tokenId);

    /**
     * 获取已认证信息
     *
     * @param tokenId 令牌编号
     * @return 已认证信息
     */
    Authentication getAuthResult(String tokenId);


}
